372bb4a94a1b404328c4c50ad780a480bf49efa8,src/main/java/water/fvec/FrameCreator.java,FrameCreator,FrameCreator,#CreateFrame#Key#,21
Before Change
_job=job;
_createFrame = createFrame;
int[] idx = Utils.seq(1, _createFrame.cols+1);
int[] shuffled_idx = new int[idx.length];
Utils.shuffleArray(idx, idx.length, shuffled_idx, _createFrame.seed, 0);
After Change
_job=job;
_createFrame = createFrame;
int[] idx = _createFrame.has_response ? Utils.seq(1, _createFrame.cols + 1) : Utils.seq(0, _createFrame.cols);
int[] shuffled_idx = new int[idx.length];
Utils.shuffleArray(idx, idx.length, shuffled_idx, _createFrame.seed, 0);
int catcols = (int)(_createFrame.categorical_fraction * _createFrame.cols);
int intcols = (int)(_createFrame.integer_fraction * _createFrame.cols);
int bincols = (int)(_createFrame.binary_fraction * _createFrame.cols);
int realcols = _createFrame.cols - catcols - intcols - bincols;
assert(catcols >= 0);
assert(intcols >= 0);
assert(bincols >= 0);
assert(realcols >= 0);
_cat_cols = Arrays.copyOfRange(shuffled_idx, 0, catcols);
_int_cols = Arrays.copyOfRange(shuffled_idx, catcols, catcols+intcols);
_real_cols = Arrays.copyOfRange(shuffled_idx, catcols+intcols, catcols+intcols+realcols);
_bin_cols = Arrays.copyOfRange(shuffled_idx, catcols+intcols+realcols, catcols+intcols+realcols+bincols);
// create domains for categorical variables
if (_createFrame.randomize) {
if(_createFrame.has_response) {
assert(_createFrame.response_factors >= 1);
_domain = new String[_createFrame.cols+1][];
_domain[0] = _createFrame.response_factors == 1 ? null : new String[_createFrame.response_factors];
if (_domain[0] != null) {
for (int i = 0; i < _domain[0].length; ++i) {
_domain[0][i] = "resp." + i;
}
}
} else {
_domain = new String[_createFrame.cols][];
}
for (int c : _cat_cols) {